package com.weds.frame.auth.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.weds.frame.common.entity.BaseEntity;
import com.weds.frame.domain.entity.JsonMapEntity;
import com.weds.frame.domain.typeHandler.JsonTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;

/**
 * Description:
 *
 * @author lwq
 * @date 2023-03-17
 */
@Data
@TableName(value = "sc_user")
public class ScUser extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;


    @TableId(value = "user_id", type = IdType.AUTO)
    private Integer userId;


    private String userNo;


    private String userName;


    private Integer userType;


    private Integer deptId;


    private String deptNo;


    private String deptName;


    private String userDuty;

    @ApiModelProperty(value = "职务名称")
    private String dutyName;

    @ApiModelProperty(value = "档案照片访问地址")
    private String photoSrc;

    @ApiModelProperty(value = "是否校外档案，0.校内 1.校外")
    private Integer foreignState;

    @ApiModelProperty(value = "角色编号，拼接字符串")
    private String roleNos;

    @ApiModelProperty(value = "角色名称，拼接字符串")
    private String roleNames;

    private String phoneNo;

    private String userPassword;


    private String userIdentity;


    private Integer userSex;


    private String userFinger;


    private Integer userCard;


    private Integer userPhoto;


    private Integer userFace;


    @TableField(value = "external_info",typeHandler = JsonTypeHandler.class)
    private JsonMapEntity personInfo;


    private Integer instituteId;


    private String instituteName;


    private Integer gradeId;


    private String gradeName;


    private Integer majorId;


    private String majorName;


    private String email;


    @TableField(value = "external_info",typeHandler = JsonTypeHandler.class)
    private JsonMapEntity externalInfo;


    private Timestamp userWorkday;


    private Timestamp limitBegin;


    private Timestamp limitEnd;


    private Integer userState;


    private String remark;


    private Integer showOrder;

    private String version;


    private String sourceNo;


    private Integer sourceId;


    private Integer userGroup;


    private Integer classId;


    private String className;


    private Integer seriesId;


    private String seriesName;


    @TableField(value = "external_info",typeHandler = JsonTypeHandler.class)
    private JsonMapEntity orgaInfo;


    private Timestamp userConfirmday;


    private Timestamp userQuitday;


    private Integer userWorkages;


    private Integer dutyId;

    private Integer managerUserId;

}